<template>
  <el-card shadow="never" class="aui-card--fill">
    <div class="mod-sys__dept">
      <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
        <el-form-item>
          <el-input v-model="dataForm.title" placeholder="标题" clearable></el-input>
        </el-form-item>
        <el-form-item>
          <ren-select v-model="dataForm.type" dict-type="housekeeping_type" placeholder="请选择特色标签"></ren-select>
        </el-form-item>
        <!-- <el-form-item>
          <el-input v-model="dataForm.userName" placeholder="联系人" clearable></el-input>
        </el-form-item>
        <el-form-item>
          <el-input v-model="dataForm.phone" placeholder="联系方式" clearable></el-input>
        </el-form-item> -->
        <el-form-item>
          <!-- <el-button @click="getalldata()">{{ $t("query") }}</el-button> -->
          <el-button @click="getDataList()">{{ $t("query") }}</el-button>
        </el-form-item>
        <el-form-item>
          <el-button v-if="$hasPermission('scenic:commhousekeeping:save')" type="primary"
            @click="addOrUpdateHandle()">{{ $t("add") }}</el-button>
        </el-form-item>
      </el-form>
      <el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
        @sort-change="dataListSortChangeHandle" style="width: 100%">
        <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
        <el-table-column prop="title" label="标题" header-align="center" align="center" min-width="160"
          :show-overflow-tooltip="true"></el-table-column>
        <el-table-column prop="userName" label="联系人" align="center" min-width="120"></el-table-column>
        <el-table-column prop="phone" label="联系电话" align="center" min-width="120"></el-table-column>
        <el-table-column prop="money" label="薪资" header-align="center" align="center"></el-table-column>
        <el-table-column prop="type" label="标签" header-align="center" align="center" min-width="120">
          <template slot-scope="scope">
            {{ scope.row.type | delType }}
          </template>
        </el-table-column>
        <el-table-column prop="createDate" label="发布时间" header-align="center" align="center"
          width="180"></el-table-column>
        <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
          <template slot-scope="scope">
            <el-button v-if="$hasPermission('scenic:commhousekeeping:update')" type="text" size="small"
              @click="addOrUpdateHandle(scope.row.id)">编辑</el-button>
            <el-button v-if="$hasPermission('scenic:commhousekeeping:getOne')" type="text" size="small"
              @click="lookDetail(scope.row.id)">详情</el-button>
            <el-button v-if="$hasPermission('scenic:commhousekeeping:delete')" type="text" size="small"
              @click="deleteHandle(scope.row.id)">{{ $t("delete") }}</el-button>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination :current-page="page" :page-sizes="[10, 20, 50, 100]" :page-size="limit" :total="total"
        layout="total, sizes, prev, pager, next, jumper" @size-change="pageSizeChangeHandle"
        @current-change="pageCurrentChangeHandle">
      </el-pagination>
      <!-- 弹窗, 新增 / 修改 -->
      <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
      <detail ref="lookDetail" v-if="lookDetailVisible"></detail>
    </div>
  </el-card>
</template>

<script>
var that;
import mixinViewModule from "@/mixins/view-module";
import AddOrUpdate from "./notice-add-or-update";
import detail from "./detail";
export default {
  mixins: [mixinViewModule],
  data() {
    return {
      mixinViewModuleOptions: {
        getDataListURL: "/scenic/commhousekeeping/page",
        deleteURL: "/scenic/commhousekeeping",
        getDataListIsPage: true,
        deleteIsBatch: true,
        exportURL: "/scenic/commhousekeeping/export",
      },
      scenicOptions: [],
      dataForm: {
        title: "",
        type: "",
        userName: "",
        phone: "",
        islandId: "",
      },
    };
  },
  filters: {
    delType(val) {
      let str = "";
      for (let i = 0; i < val.length; i++) {
        str += that.$getDictLabel("housekeeping_type", val[i]);
      }
      return str;
    },
  },
  components: {
    AddOrUpdate,
    detail,
  },
  created() {
    that = this;
    this.getScenicOptions();
  },
  methods: {
    getScenicOptions() {
      this.$http
        .get("scenic/isscenic/selectScenicList", {})
        .then(({ data: res }) => {
          if (res.msg == "success") {
            this.scenicOptions = res.data;
          }
        });
    },
  },
};
</script>
